home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / MENU_UTL / OMENU / OMENUP.PAS < prev   
Pascal/Delphi Source File  |  1993-10-10  |  4KB  |  96 lines

  1. program omenup;
  2. { Dropdown menu system }
  3. {$A+     + Align Data on}
  4. {$B-     - Boolean Eval short}
  5. {$D+     + Debug info on}
  6. {$E+     + 8087 Emulation on}
  7. {$F+     + Force far calls on}
  8. {$G+     + Generate 286 code}
  9. {$I+     + IO checking on}
  10. {$L+     + Local symbols on}
  11. {$N-     - Numeric Processing off}
  12. {$O-     - Overlays off}
  13. {$R+     + Range checks on}
  14. {$S+     + Stack checks on}
  15. {$V-     - Relaxed String checks}
  16. {$X+     + Extended Syntax on}
  17.  
  18. uses crt,omenu;
  19.   var
  20.     VMenu            : OVMenu;
  21.     HMenu            : OHMenu;
  22.     HVMenu           : OHVMenu;      { OHVMenu is Horiz-Vert Menu obj }
  23.     AStr             : string;
  24.     i,j,k,x          : integer;
  25.     c                : char;
  26.     NBg              : integer;      { Normal Background color }
  27.     NFg              : integer;      { Normal Foreground color }
  28.     HBg              : integer;      { Highlighted Background color }
  29.     HFg              : integer;      { Highlighted Foreground color }
  30.     BC               : integer;      { Border color }
  31.     SC               : integer;      { Shadow color }
  32. begin
  33.     NBg              := black;
  34.     NFg              := white;
  35.     HBg              := white;
  36.     HFg              := black;
  37.     BC               := black;
  38.     SC               := lcyan;
  39.  
  40.   GraphInit;
  41.   GClrScr(white);
  42.   for i := 0 to 21 do GWriteXy(0,i,
  43.     'We are in graphics mode displaying text across the screen.',white,black);
  44.  
  45.   HVMenu.init;
  46.   HVMenu.SetHorItems(  00,00,80,01,       {x1,y1,x2,y2 coordinates}
  47.                        NBg,               {Normal Background}
  48.                        NFg,               {Normal Foreground}
  49.                        HBg,               {Highlighted Background}
  50.                        HFg,               {Highlighted Foreground}
  51.                        BC,                {Border Color}
  52.                        SC,                {Shadow Color (white looks black)}
  53.                        4,                 {Number of menu items}
  54.                        1,                 {Item to highlight first}
  55.                        BorderOn,          {Draw border? BorderOn,BorderOff}
  56.                        ShadowOff,         {Shadow on? ShadowOn,ShadowOff}
  57.                        ' File | Edit | Utility | Preferences ');
  58.                                           {Menu items, delimited with '|'}
  59.                        { Horizontal menu does not require *menu number* parm}
  60.   HVMenu.SetVerItems(  01,                {Menu Number}
  61.                        00,01,10,05,       {x1,y1,x2,y2 coordinates}
  62.                        NBg,               {Normal Background}
  63.                        NFg,               {Normal Foreground}
  64.                        HBg,               {Highlighted Background}
  65.                        HFg,               {Highlighted Foreground}
  66.                        BC,                {Border Color}
  67.                        SC,                {Shadow Color (white looks black)}
  68.                        4,                 {Number of menu items}
  69.                        1,                 {Item to highlight first}
  70.                        BorderOn,          {Draw border? BorderOn,BorderOff}
  71.                        ShadowOn,          {Shadow on? ShadowOn,ShadowOff}
  72.                        ' Save | Save As | Print | Quit ');
  73.                                           {Menu items, delimited with '|'}
  74.  
  75.   HVMenu.SetVerItems(2,06,01,17,03,NBg,NFg,HBg,HFg,BC,Sc,
  76.                      2,1,BorderOn,ShadowOn,
  77.                      ' Change | Restore ');
  78.   HVmenu.SetVerItems(3,12,01,29,03,NBg,NFg,HBg,HFg,BC,Sc,
  79.                      2,1,BorderOn,ShadowOn,
  80.                      ' Some options | No Options ');
  81.   HVMenu.SetVerItems(4,21,01,39,04,NBg,NFg,HBg,HFg,BC,Sc,
  82.                      4,1,BorderOn,ShadowOn,
  83.                      ' Save Screen | Font | Whatever ');
  84.   HMenu.EraseOK:=False;
  85.  
  86.   X:=HVMenu.MenuResult(false,true);
  87.   str(x div 100,AStr);
  88.   GWritexy(0,22,'Horizontal Choice was '+AStr,white,black);
  89.   str(x mod 100,AStr);
  90.   GWritexy(0,23,'Vertical Choice was '+AStr,white,black);
  91.   str(x,AStr);
  92.   GWritexy(0,24,'Hor-Vert Choice was '+AStr,white,black);
  93.   c:=readkey;
  94.   HVMenu.Done;
  95.   end.
  96.